package com.breeze.components.task.xxl.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * xxlJob配置
 *
 * @author breeze
 */
@Data
@ConfigurationProperties(prefix = "xxl.job")
public class XxlJobProperties {

  /** 是否开启 */
  private boolean enabled;

  /** 调度中心用户名 */
  private String username;

  /** 调度中心 */
  private String password;

  /** 调度中心部署跟地址：配置对应环境的地址 */
  private String adminAddresses;

  /** 执行器通讯TOKEN [选填]：非空时启用 */
  private String accessToken;

  /** 执行器AppName [选填]：执行器心跳注册分组依据；为空则关闭自动注册 */
  private String appName;

  /** 执行器IP [选填]：默认为空表示自动获取IP，多网卡时可手动设置指定IP，该IP不会绑定Host仅作为通讯实用 地址信息用于 "执行器注册" 和 "调度中心请求并触发任务"； */
  private String ip;

  /** 执行器端口号 [选填]：小于等于0则自动获取；默认端口为9999，单机部署多个执行器时，注意要配置不同执行器端口 */
  private Integer port;

  /** 执行器运行日志文件存储磁盘路径 [选填] ：需要对该路径拥有读写权限；为空则使用默认路径 */
  private String logPath;

  /** 执行器日志文件保存天数 [选填] ： 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能 */
  private Integer logRetentionDays;

  /** 在addressType为1的情况下，手动录入执行器地址列表，多地址逗号分隔 */
  private String addressList;

  /** 执行器地址类型 默认自动 */
  private Integer addressType = 0;

  /** group title */
  private String title;
}
